Termination w.r.t. Q of the following Term Rewriting System could be proven:

Q restricted rewrite system:
The TRS R consists of the following rules:

p1(0) -> 0
p1(s1(x)) -> x
plus2(x, 0) -> x
plus2(0, y) -> y
plus2(s1(x), y) -> s1(plus2(x, y))
plus2(s1(x), y) -> s1(plus2(p1(s1(x)), y))
plus2(x, s1(y)) -> s1(plus2(x, p1(s1(y))))
times2(0, y) -> 0
times2(s1(0), y) -> y
times2(s1(x), y) -> plus2(y, times2(x, y))
div2(0, y) -> 0
div2(x, y) -> quot3(x, y, y)
quot3(0, s1(y), z) -> 0
quot3(s1(x), s1(y), z) -> quot3(x, y, z)
quot3(x, 0, s1(z)) -> s1(div2(x, s1(z)))
div2(div2(x, y), z) -> div2(x, times2(y, z))
eq2(0, 0) -> true
eq2(s1(x), 0) -> false
eq2(0, s1(y)) -> false
eq2(s1(x), s1(y)) -> eq2(x, y)
divides2(y, x) -> eq2(x, times2(div2(x, y), y))
prime1(s1(s1(x))) -> pr2(s1(s1(x)), s1(x))
pr2(x, s1(0)) -> true
pr2(x, s1(s1(y))) -> if3(divides2(s1(s1(y)), x), x, s1(y))
if3(true, x, y) -> false
if3(false, x, y) -> pr2(x, y)

Q is empty.


QTRS
  ↳ DependencyPairsProof

Q restricted rewrite system:
The TRS R consists of the following rules:

p1(0) -> 0
p1(s1(x)) -> x
plus2(x, 0) -> x
plus2(0, y) -> y
plus2(s1(x), y) -> s1(plus2(x, y))
plus2(s1(x), y) -> s1(plus2(p1(s1(x)), y))
plus2(x, s1(y)) -> s1(plus2(x, p1(s1(y))))
times2(0, y) -> 0
times2(s1(0), y) -> y
times2(s1(x), y) -> plus2(y, times2(x, y))
div2(0, y) -> 0
div2(x, y) -> quot3(x, y, y)
quot3(0, s1(y), z) -> 0
quot3(s1(x), s1(y), z) -> quot3(x, y, z)
quot3(x, 0, s1(z)) -> s1(div2(x, s1(z)))
div2(div2(x, y), z) -> div2(x, times2(y, z))
eq2(0, 0) -> true
eq2(s1(x), 0) -> false
eq2(0, s1(y)) -> false
eq2(s1(x), s1(y)) -> eq2(x, y)
divides2(y, x) -> eq2(x, times2(div2(x, y), y))
prime1(s1(s1(x))) -> pr2(s1(s1(x)), s1(x))
pr2(x, s1(0)) -> true
pr2(x, s1(s1(y))) -> if3(divides2(s1(s1(y)), x), x, s1(y))
if3(true, x, y) -> false
if3(false, x, y) -> pr2(x, y)

Q is empty.

Using Dependency Pairs [1,13] we result in the following initial DP problem:
Q DP problem:
The TRS P consists of the following rules:

DIV2(div2(x, y), z) -> TIMES2(y, z)
PLUS2(s1(x), y) -> PLUS2(p1(s1(x)), y)
PLUS2(s1(x), y) -> P1(s1(x))
QUOT3(x, 0, s1(z)) -> DIV2(x, s1(z))
PR2(x, s1(s1(y))) -> DIVIDES2(s1(s1(y)), x)
DIVIDES2(y, x) -> TIMES2(div2(x, y), y)
DIVIDES2(y, x) -> EQ2(x, times2(div2(x, y), y))
PLUS2(x, s1(y)) -> PLUS2(x, p1(s1(y)))
PLUS2(s1(x), y) -> PLUS2(x, y)
TIMES2(s1(x), y) -> PLUS2(y, times2(x, y))
QUOT3(s1(x), s1(y), z) -> QUOT3(x, y, z)
EQ2(s1(x), s1(y)) -> EQ2(x, y)
PLUS2(x, s1(y)) -> P1(s1(y))
DIV2(div2(x, y), z) -> DIV2(x, times2(y, z))
TIMES2(s1(x), y) -> TIMES2(x, y)
PR2(x, s1(s1(y))) -> IF3(divides2(s1(s1(y)), x), x, s1(y))
DIV2(x, y) -> QUOT3(x, y, y)
IF3(false, x, y) -> PR2(x, y)
PRIME1(s1(s1(x))) -> PR2(s1(s1(x)), s1(x))
DIVIDES2(y, x) -> DIV2(x, y)

The TRS R consists of the following rules:

p1(0) -> 0
p1(s1(x)) -> x
plus2(x, 0) -> x
plus2(0, y) -> y
plus2(s1(x), y) -> s1(plus2(x, y))
plus2(s1(x), y) -> s1(plus2(p1(s1(x)), y))
plus2(x, s1(y)) -> s1(plus2(x, p1(s1(y))))
times2(0, y) -> 0
times2(s1(0), y) -> y
times2(s1(x), y) -> plus2(y, times2(x, y))
div2(0, y) -> 0
div2(x, y) -> quot3(x, y, y)
quot3(0, s1(y), z) -> 0
quot3(s1(x), s1(y), z) -> quot3(x, y, z)
quot3(x, 0, s1(z)) -> s1(div2(x, s1(z)))
div2(div2(x, y), z) -> div2(x, times2(y, z))
eq2(0, 0) -> true
eq2(s1(x), 0) -> false
eq2(0, s1(y)) -> false
eq2(s1(x), s1(y)) -> eq2(x, y)
divides2(y, x) -> eq2(x, times2(div2(x, y), y))
prime1(s1(s1(x))) -> pr2(s1(s1(x)), s1(x))
pr2(x, s1(0)) -> true
pr2(x, s1(s1(y))) -> if3(divides2(s1(s1(y)), x), x, s1(y))
if3(true, x, y) -> false
if3(false, x, y) -> pr2(x, y)

Q is empty.
We have to consider all minimal (P,Q,R)-chains.

↳ QTRS
  ↳ DependencyPairsProof
QDP
      ↳ DependencyGraphProof

Q DP problem:
The TRS P consists of the following rules:

DIV2(div2(x, y), z) -> TIMES2(y, z)
PLUS2(s1(x), y) -> PLUS2(p1(s1(x)), y)
PLUS2(s1(x), y) -> P1(s1(x))
QUOT3(x, 0, s1(z)) -> DIV2(x, s1(z))
PR2(x, s1(s1(y))) -> DIVIDES2(s1(s1(y)), x)
DIVIDES2(y, x) -> TIMES2(div2(x, y), y)
DIVIDES2(y, x) -> EQ2(x, times2(div2(x, y), y))
PLUS2(x, s1(y)) -> PLUS2(x, p1(s1(y)))
PLUS2(s1(x), y) -> PLUS2(x, y)
TIMES2(s1(x), y) -> PLUS2(y, times2(x, y))
QUOT3(s1(x), s1(y), z) -> QUOT3(x, y, z)
EQ2(s1(x), s1(y)) -> EQ2(x, y)
PLUS2(x, s1(y)) -> P1(s1(y))
DIV2(div2(x, y), z) -> DIV2(x, times2(y, z))
TIMES2(s1(x), y) -> TIMES2(x, y)
PR2(x, s1(s1(y))) -> IF3(divides2(s1(s1(y)), x), x, s1(y))
DIV2(x, y) -> QUOT3(x, y, y)
IF3(false, x, y) -> PR2(x, y)
PRIME1(s1(s1(x))) -> PR2(s1(s1(x)), s1(x))
DIVIDES2(y, x) -> DIV2(x, y)

The TRS R consists of the following rules:

p1(0) -> 0
p1(s1(x)) -> x
plus2(x, 0) -> x
plus2(0, y) -> y
plus2(s1(x), y) -> s1(plus2(x, y))
plus2(s1(x), y) -> s1(plus2(p1(s1(x)), y))
plus2(x, s1(y)) -> s1(plus2(x, p1(s1(y))))
times2(0, y) -> 0
times2(s1(0), y) -> y
times2(s1(x), y) -> plus2(y, times2(x, y))
div2(0, y) -> 0
div2(x, y) -> quot3(x, y, y)
quot3(0, s1(y), z) -> 0
quot3(s1(x), s1(y), z) -> quot3(x, y, z)
quot3(x, 0, s1(z)) -> s1(div2(x, s1(z)))
div2(div2(x, y), z) -> div2(x, times2(y, z))
eq2(0, 0) -> true
eq2(s1(x), 0) -> false
eq2(0, s1(y)) -> false
eq2(s1(x), s1(y)) -> eq2(x, y)
divides2(y, x) -> eq2(x, times2(div2(x, y), y))
prime1(s1(s1(x))) -> pr2(s1(s1(x)), s1(x))
pr2(x, s1(0)) -> true
pr2(x, s1(s1(y))) -> if3(divides2(s1(s1(y)), x), x, s1(y))
if3(true, x, y) -> false
if3(false, x, y) -> pr2(x, y)

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [13,14,18] contains 5 SCCs with 9 less nodes.

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
QDP
            ↳ QDPOrderProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

EQ2(s1(x), s1(y)) -> EQ2(x, y)

The TRS R consists of the following rules:

p1(0) -> 0
p1(s1(x)) -> x
plus2(x, 0) -> x
plus2(0, y) -> y
plus2(s1(x), y) -> s1(plus2(x, y))
plus2(s1(x), y) -> s1(plus2(p1(s1(x)), y))
plus2(x, s1(y)) -> s1(plus2(x, p1(s1(y))))
times2(0, y) -> 0
times2(s1(0), y) -> y
times2(s1(x), y) -> plus2(y, times2(x, y))
div2(0, y) -> 0
div2(x, y) -> quot3(x, y, y)
quot3(0, s1(y), z) -> 0
quot3(s1(x), s1(y), z) -> quot3(x, y, z)
quot3(x, 0, s1(z)) -> s1(div2(x, s1(z)))
div2(div2(x, y), z) -> div2(x, times2(y, z))
eq2(0, 0) -> true
eq2(s1(x), 0) -> false
eq2(0, s1(y)) -> false
eq2(s1(x), s1(y)) -> eq2(x, y)
divides2(y, x) -> eq2(x, times2(div2(x, y), y))
prime1(s1(s1(x))) -> pr2(s1(s1(x)), s1(x))
pr2(x, s1(0)) -> true
pr2(x, s1(s1(y))) -> if3(divides2(s1(s1(y)), x), x, s1(y))
if3(true, x, y) -> false
if3(false, x, y) -> pr2(x, y)

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We use the reduction pair processor [13].


The following pairs can be oriented strictly and are deleted.


EQ2(s1(x), s1(y)) -> EQ2(x, y)
The remaining pairs can at least be oriented weakly.
none
Used ordering: Polynomial Order [17,21] with Interpretation:

POL( s1(x1) ) = x1 + 3


POL( EQ2(x1, x2) ) = 3x2 + 3



The following usable rules [14] were oriented: none



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
            ↳ QDPOrderProof
QDP
                ↳ PisEmptyProof
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
P is empty.
The TRS R consists of the following rules:

p1(0) -> 0
p1(s1(x)) -> x
plus2(x, 0) -> x
plus2(0, y) -> y
plus2(s1(x), y) -> s1(plus2(x, y))
plus2(s1(x), y) -> s1(plus2(p1(s1(x)), y))
plus2(x, s1(y)) -> s1(plus2(x, p1(s1(y))))
times2(0, y) -> 0
times2(s1(0), y) -> y
times2(s1(x), y) -> plus2(y, times2(x, y))
div2(0, y) -> 0
div2(x, y) -> quot3(x, y, y)
quot3(0, s1(y), z) -> 0
quot3(s1(x), s1(y), z) -> quot3(x, y, z)
quot3(x, 0, s1(z)) -> s1(div2(x, s1(z)))
div2(div2(x, y), z) -> div2(x, times2(y, z))
eq2(0, 0) -> true
eq2(s1(x), 0) -> false
eq2(0, s1(y)) -> false
eq2(s1(x), s1(y)) -> eq2(x, y)
divides2(y, x) -> eq2(x, times2(div2(x, y), y))
prime1(s1(s1(x))) -> pr2(s1(s1(x)), s1(x))
pr2(x, s1(0)) -> true
pr2(x, s1(s1(y))) -> if3(divides2(s1(s1(y)), x), x, s1(y))
if3(true, x, y) -> false
if3(false, x, y) -> pr2(x, y)

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
The TRS P is empty. Hence, there is no (P,Q,R) chain.

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
QDP
            ↳ QDPOrderProof
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

PLUS2(s1(x), y) -> PLUS2(x, y)
PLUS2(s1(x), y) -> PLUS2(p1(s1(x)), y)
PLUS2(x, s1(y)) -> PLUS2(x, p1(s1(y)))

The TRS R consists of the following rules:

p1(0) -> 0
p1(s1(x)) -> x
plus2(x, 0) -> x
plus2(0, y) -> y
plus2(s1(x), y) -> s1(plus2(x, y))
plus2(s1(x), y) -> s1(plus2(p1(s1(x)), y))
plus2(x, s1(y)) -> s1(plus2(x, p1(s1(y))))
times2(0, y) -> 0
times2(s1(0), y) -> y
times2(s1(x), y) -> plus2(y, times2(x, y))
div2(0, y) -> 0
div2(x, y) -> quot3(x, y, y)
quot3(0, s1(y), z) -> 0
quot3(s1(x), s1(y), z) -> quot3(x, y, z)
quot3(x, 0, s1(z)) -> s1(div2(x, s1(z)))
div2(div2(x, y), z) -> div2(x, times2(y, z))
eq2(0, 0) -> true
eq2(s1(x), 0) -> false
eq2(0, s1(y)) -> false
eq2(s1(x), s1(y)) -> eq2(x, y)
divides2(y, x) -> eq2(x, times2(div2(x, y), y))
prime1(s1(s1(x))) -> pr2(s1(s1(x)), s1(x))
pr2(x, s1(0)) -> true
pr2(x, s1(s1(y))) -> if3(divides2(s1(s1(y)), x), x, s1(y))
if3(true, x, y) -> false
if3(false, x, y) -> pr2(x, y)

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We use the reduction pair processor [13].


The following pairs can be oriented strictly and are deleted.


PLUS2(s1(x), y) -> PLUS2(x, y)
PLUS2(s1(x), y) -> PLUS2(p1(s1(x)), y)
PLUS2(x, s1(y)) -> PLUS2(x, p1(s1(y)))
The remaining pairs can at least be oriented weakly.
none
Used ordering: Polynomial Order [17,21] with Interpretation:

POL( s1(x1) ) = 2x1 + 2


POL( p1(x1) ) = max{0, x1 - 2}


POL( PLUS2(x1, x2) ) = max{0, 3x1 + 2x2 - 2}



The following usable rules [14] were oriented:

p1(s1(x)) -> x



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
            ↳ QDPOrderProof
QDP
                ↳ PisEmptyProof
          ↳ QDP
          ↳ QDP
          ↳ QDP

Q DP problem:
P is empty.
The TRS R consists of the following rules:

p1(0) -> 0
p1(s1(x)) -> x
plus2(x, 0) -> x
plus2(0, y) -> y
plus2(s1(x), y) -> s1(plus2(x, y))
plus2(s1(x), y) -> s1(plus2(p1(s1(x)), y))
plus2(x, s1(y)) -> s1(plus2(x, p1(s1(y))))
times2(0, y) -> 0
times2(s1(0), y) -> y
times2(s1(x), y) -> plus2(y, times2(x, y))
div2(0, y) -> 0
div2(x, y) -> quot3(x, y, y)
quot3(0, s1(y), z) -> 0
quot3(s1(x), s1(y), z) -> quot3(x, y, z)
quot3(x, 0, s1(z)) -> s1(div2(x, s1(z)))
div2(div2(x, y), z) -> div2(x, times2(y, z))
eq2(0, 0) -> true
eq2(s1(x), 0) -> false
eq2(0, s1(y)) -> false
eq2(s1(x), s1(y)) -> eq2(x, y)
divides2(y, x) -> eq2(x, times2(div2(x, y), y))
prime1(s1(s1(x))) -> pr2(s1(s1(x)), s1(x))
pr2(x, s1(0)) -> true
pr2(x, s1(s1(y))) -> if3(divides2(s1(s1(y)), x), x, s1(y))
if3(true, x, y) -> false
if3(false, x, y) -> pr2(x, y)

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
The TRS P is empty. Hence, there is no (P,Q,R) chain.

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
QDP
            ↳ QDPOrderProof
          ↳ QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

TIMES2(s1(x), y) -> TIMES2(x, y)

The TRS R consists of the following rules:

p1(0) -> 0
p1(s1(x)) -> x
plus2(x, 0) -> x
plus2(0, y) -> y
plus2(s1(x), y) -> s1(plus2(x, y))
plus2(s1(x), y) -> s1(plus2(p1(s1(x)), y))
plus2(x, s1(y)) -> s1(plus2(x, p1(s1(y))))
times2(0, y) -> 0
times2(s1(0), y) -> y
times2(s1(x), y) -> plus2(y, times2(x, y))
div2(0, y) -> 0
div2(x, y) -> quot3(x, y, y)
quot3(0, s1(y), z) -> 0
quot3(s1(x), s1(y), z) -> quot3(x, y, z)
quot3(x, 0, s1(z)) -> s1(div2(x, s1(z)))
div2(div2(x, y), z) -> div2(x, times2(y, z))
eq2(0, 0) -> true
eq2(s1(x), 0) -> false
eq2(0, s1(y)) -> false
eq2(s1(x), s1(y)) -> eq2(x, y)
divides2(y, x) -> eq2(x, times2(div2(x, y), y))
prime1(s1(s1(x))) -> pr2(s1(s1(x)), s1(x))
pr2(x, s1(0)) -> true
pr2(x, s1(s1(y))) -> if3(divides2(s1(s1(y)), x), x, s1(y))
if3(true, x, y) -> false
if3(false, x, y) -> pr2(x, y)

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We use the reduction pair processor [13].


The following pairs can be oriented strictly and are deleted.


TIMES2(s1(x), y) -> TIMES2(x, y)
The remaining pairs can at least be oriented weakly.
none
Used ordering: Polynomial Order [17,21] with Interpretation:

POL( s1(x1) ) = x1 + 1


POL( TIMES2(x1, x2) ) = 2x1 + 3x2 + 2



The following usable rules [14] were oriented: none



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ QDPOrderProof
QDP
                ↳ PisEmptyProof
          ↳ QDP
          ↳ QDP

Q DP problem:
P is empty.
The TRS R consists of the following rules:

p1(0) -> 0
p1(s1(x)) -> x
plus2(x, 0) -> x
plus2(0, y) -> y
plus2(s1(x), y) -> s1(plus2(x, y))
plus2(s1(x), y) -> s1(plus2(p1(s1(x)), y))
plus2(x, s1(y)) -> s1(plus2(x, p1(s1(y))))
times2(0, y) -> 0
times2(s1(0), y) -> y
times2(s1(x), y) -> plus2(y, times2(x, y))
div2(0, y) -> 0
div2(x, y) -> quot3(x, y, y)
quot3(0, s1(y), z) -> 0
quot3(s1(x), s1(y), z) -> quot3(x, y, z)
quot3(x, 0, s1(z)) -> s1(div2(x, s1(z)))
div2(div2(x, y), z) -> div2(x, times2(y, z))
eq2(0, 0) -> true
eq2(s1(x), 0) -> false
eq2(0, s1(y)) -> false
eq2(s1(x), s1(y)) -> eq2(x, y)
divides2(y, x) -> eq2(x, times2(div2(x, y), y))
prime1(s1(s1(x))) -> pr2(s1(s1(x)), s1(x))
pr2(x, s1(0)) -> true
pr2(x, s1(s1(y))) -> if3(divides2(s1(s1(y)), x), x, s1(y))
if3(true, x, y) -> false
if3(false, x, y) -> pr2(x, y)

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
The TRS P is empty. Hence, there is no (P,Q,R) chain.

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
QDP
            ↳ QDPOrderProof
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

QUOT3(x, 0, s1(z)) -> DIV2(x, s1(z))
QUOT3(s1(x), s1(y), z) -> QUOT3(x, y, z)
DIV2(div2(x, y), z) -> DIV2(x, times2(y, z))
DIV2(x, y) -> QUOT3(x, y, y)

The TRS R consists of the following rules:

p1(0) -> 0
p1(s1(x)) -> x
plus2(x, 0) -> x
plus2(0, y) -> y
plus2(s1(x), y) -> s1(plus2(x, y))
plus2(s1(x), y) -> s1(plus2(p1(s1(x)), y))
plus2(x, s1(y)) -> s1(plus2(x, p1(s1(y))))
times2(0, y) -> 0
times2(s1(0), y) -> y
times2(s1(x), y) -> plus2(y, times2(x, y))
div2(0, y) -> 0
div2(x, y) -> quot3(x, y, y)
quot3(0, s1(y), z) -> 0
quot3(s1(x), s1(y), z) -> quot3(x, y, z)
quot3(x, 0, s1(z)) -> s1(div2(x, s1(z)))
div2(div2(x, y), z) -> div2(x, times2(y, z))
eq2(0, 0) -> true
eq2(s1(x), 0) -> false
eq2(0, s1(y)) -> false
eq2(s1(x), s1(y)) -> eq2(x, y)
divides2(y, x) -> eq2(x, times2(div2(x, y), y))
prime1(s1(s1(x))) -> pr2(s1(s1(x)), s1(x))
pr2(x, s1(0)) -> true
pr2(x, s1(s1(y))) -> if3(divides2(s1(s1(y)), x), x, s1(y))
if3(true, x, y) -> false
if3(false, x, y) -> pr2(x, y)

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We use the reduction pair processor [13].


The following pairs can be oriented strictly and are deleted.


DIV2(div2(x, y), z) -> DIV2(x, times2(y, z))
The remaining pairs can at least be oriented weakly.

QUOT3(x, 0, s1(z)) -> DIV2(x, s1(z))
QUOT3(s1(x), s1(y), z) -> QUOT3(x, y, z)
DIV2(x, y) -> QUOT3(x, y, y)
Used ordering: Polynomial Order [17,21] with Interpretation:

POL( QUOT3(x1, ..., x3) ) = 3x1 + 1


POL( plus2(x1, x2) ) = max{0, 2x1 - 3}


POL( 0 ) = 3


POL( s1(x1) ) = x1


POL( DIV2(x1, x2) ) = 3x1 + 1


POL( times2(x1, x2) ) = max{0, -1}


POL( div2(x1, x2) ) = 3x1 + 1


POL( p1(x1) ) = max{0, -3}



The following usable rules [14] were oriented: none



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ QDPOrderProof
QDP
                ↳ QDPOrderProof
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

QUOT3(s1(x), s1(y), z) -> QUOT3(x, y, z)
QUOT3(x, 0, s1(z)) -> DIV2(x, s1(z))
DIV2(x, y) -> QUOT3(x, y, y)

The TRS R consists of the following rules:

p1(0) -> 0
p1(s1(x)) -> x
plus2(x, 0) -> x
plus2(0, y) -> y
plus2(s1(x), y) -> s1(plus2(x, y))
plus2(s1(x), y) -> s1(plus2(p1(s1(x)), y))
plus2(x, s1(y)) -> s1(plus2(x, p1(s1(y))))
times2(0, y) -> 0
times2(s1(0), y) -> y
times2(s1(x), y) -> plus2(y, times2(x, y))
div2(0, y) -> 0
div2(x, y) -> quot3(x, y, y)
quot3(0, s1(y), z) -> 0
quot3(s1(x), s1(y), z) -> quot3(x, y, z)
quot3(x, 0, s1(z)) -> s1(div2(x, s1(z)))
div2(div2(x, y), z) -> div2(x, times2(y, z))
eq2(0, 0) -> true
eq2(s1(x), 0) -> false
eq2(0, s1(y)) -> false
eq2(s1(x), s1(y)) -> eq2(x, y)
divides2(y, x) -> eq2(x, times2(div2(x, y), y))
prime1(s1(s1(x))) -> pr2(s1(s1(x)), s1(x))
pr2(x, s1(0)) -> true
pr2(x, s1(s1(y))) -> if3(divides2(s1(s1(y)), x), x, s1(y))
if3(true, x, y) -> false
if3(false, x, y) -> pr2(x, y)

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We use the reduction pair processor [13].


The following pairs can be oriented strictly and are deleted.


QUOT3(s1(x), s1(y), z) -> QUOT3(x, y, z)
The remaining pairs can at least be oriented weakly.

QUOT3(x, 0, s1(z)) -> DIV2(x, s1(z))
DIV2(x, y) -> QUOT3(x, y, y)
Used ordering: Polynomial Order [17,21] with Interpretation:

POL( QUOT3(x1, ..., x3) ) = 3x1


POL( 0 ) = 0


POL( s1(x1) ) = x1 + 1


POL( DIV2(x1, x2) ) = 3x1



The following usable rules [14] were oriented: none



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ QDPOrderProof
              ↳ QDP
                ↳ QDPOrderProof
QDP
                    ↳ QDPOrderProof
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

QUOT3(x, 0, s1(z)) -> DIV2(x, s1(z))
DIV2(x, y) -> QUOT3(x, y, y)

The TRS R consists of the following rules:

p1(0) -> 0
p1(s1(x)) -> x
plus2(x, 0) -> x
plus2(0, y) -> y
plus2(s1(x), y) -> s1(plus2(x, y))
plus2(s1(x), y) -> s1(plus2(p1(s1(x)), y))
plus2(x, s1(y)) -> s1(plus2(x, p1(s1(y))))
times2(0, y) -> 0
times2(s1(0), y) -> y
times2(s1(x), y) -> plus2(y, times2(x, y))
div2(0, y) -> 0
div2(x, y) -> quot3(x, y, y)
quot3(0, s1(y), z) -> 0
quot3(s1(x), s1(y), z) -> quot3(x, y, z)
quot3(x, 0, s1(z)) -> s1(div2(x, s1(z)))
div2(div2(x, y), z) -> div2(x, times2(y, z))
eq2(0, 0) -> true
eq2(s1(x), 0) -> false
eq2(0, s1(y)) -> false
eq2(s1(x), s1(y)) -> eq2(x, y)
divides2(y, x) -> eq2(x, times2(div2(x, y), y))
prime1(s1(s1(x))) -> pr2(s1(s1(x)), s1(x))
pr2(x, s1(0)) -> true
pr2(x, s1(s1(y))) -> if3(divides2(s1(s1(y)), x), x, s1(y))
if3(true, x, y) -> false
if3(false, x, y) -> pr2(x, y)

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We use the reduction pair processor [13].


The following pairs can be oriented strictly and are deleted.


QUOT3(x, 0, s1(z)) -> DIV2(x, s1(z))
The remaining pairs can at least be oriented weakly.

DIV2(x, y) -> QUOT3(x, y, y)
Used ordering: Polynomial Order [17,21] with Interpretation:

POL( QUOT3(x1, ..., x3) ) = 2x1 + x2


POL( s1(x1) ) = 0


POL( 0 ) = 3


POL( DIV2(x1, x2) ) = 2x1 + x2



The following usable rules [14] were oriented: none



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ QDPOrderProof
              ↳ QDP
                ↳ QDPOrderProof
                  ↳ QDP
                    ↳ QDPOrderProof
QDP
                        ↳ DependencyGraphProof
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

DIV2(x, y) -> QUOT3(x, y, y)

The TRS R consists of the following rules:

p1(0) -> 0
p1(s1(x)) -> x
plus2(x, 0) -> x
plus2(0, y) -> y
plus2(s1(x), y) -> s1(plus2(x, y))
plus2(s1(x), y) -> s1(plus2(p1(s1(x)), y))
plus2(x, s1(y)) -> s1(plus2(x, p1(s1(y))))
times2(0, y) -> 0
times2(s1(0), y) -> y
times2(s1(x), y) -> plus2(y, times2(x, y))
div2(0, y) -> 0
div2(x, y) -> quot3(x, y, y)
quot3(0, s1(y), z) -> 0
quot3(s1(x), s1(y), z) -> quot3(x, y, z)
quot3(x, 0, s1(z)) -> s1(div2(x, s1(z)))
div2(div2(x, y), z) -> div2(x, times2(y, z))
eq2(0, 0) -> true
eq2(s1(x), 0) -> false
eq2(0, s1(y)) -> false
eq2(s1(x), s1(y)) -> eq2(x, y)
divides2(y, x) -> eq2(x, times2(div2(x, y), y))
prime1(s1(s1(x))) -> pr2(s1(s1(x)), s1(x))
pr2(x, s1(0)) -> true
pr2(x, s1(s1(y))) -> if3(divides2(s1(s1(y)), x), x, s1(y))
if3(true, x, y) -> false
if3(false, x, y) -> pr2(x, y)

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [13,14,18] contains 0 SCCs with 1 less node.

↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
QDP
            ↳ QDPOrderProof

Q DP problem:
The TRS P consists of the following rules:

PR2(x, s1(s1(y))) -> IF3(divides2(s1(s1(y)), x), x, s1(y))
IF3(false, x, y) -> PR2(x, y)

The TRS R consists of the following rules:

p1(0) -> 0
p1(s1(x)) -> x
plus2(x, 0) -> x
plus2(0, y) -> y
plus2(s1(x), y) -> s1(plus2(x, y))
plus2(s1(x), y) -> s1(plus2(p1(s1(x)), y))
plus2(x, s1(y)) -> s1(plus2(x, p1(s1(y))))
times2(0, y) -> 0
times2(s1(0), y) -> y
times2(s1(x), y) -> plus2(y, times2(x, y))
div2(0, y) -> 0
div2(x, y) -> quot3(x, y, y)
quot3(0, s1(y), z) -> 0
quot3(s1(x), s1(y), z) -> quot3(x, y, z)
quot3(x, 0, s1(z)) -> s1(div2(x, s1(z)))
div2(div2(x, y), z) -> div2(x, times2(y, z))
eq2(0, 0) -> true
eq2(s1(x), 0) -> false
eq2(0, s1(y)) -> false
eq2(s1(x), s1(y)) -> eq2(x, y)
divides2(y, x) -> eq2(x, times2(div2(x, y), y))
prime1(s1(s1(x))) -> pr2(s1(s1(x)), s1(x))
pr2(x, s1(0)) -> true
pr2(x, s1(s1(y))) -> if3(divides2(s1(s1(y)), x), x, s1(y))
if3(true, x, y) -> false
if3(false, x, y) -> pr2(x, y)

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We use the reduction pair processor [13].


The following pairs can be oriented strictly and are deleted.


PR2(x, s1(s1(y))) -> IF3(divides2(s1(s1(y)), x), x, s1(y))
The remaining pairs can at least be oriented weakly.

IF3(false, x, y) -> PR2(x, y)
Used ordering: Polynomial Order [17,21] with Interpretation:

POL( IF3(x1, ..., x3) ) = 3x3 + 1


POL( eq2(x1, x2) ) = max{0, -3}


POL( 0 ) = 1


POL( divides2(x1, x2) ) = max{0, 2x2 - 3}


POL( times2(x1, x2) ) = 2x1 + 1


POL( div2(x1, x2) ) = x2 + 2


POL( PR2(x1, x2) ) = 2x2 + 1


POL( true ) = 1


POL( false ) = 1


POL( plus2(x1, x2) ) = 3x1 + 1


POL( quot3(x1, ..., x3) ) = max{0, -3}


POL( s1(x1) ) = 3x1 + 1


POL( p1(x1) ) = max{0, -2}



The following usable rules [14] were oriented: none



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
          ↳ QDP
            ↳ QDPOrderProof
QDP
                ↳ DependencyGraphProof

Q DP problem:
The TRS P consists of the following rules:

IF3(false, x, y) -> PR2(x, y)

The TRS R consists of the following rules:

p1(0) -> 0
p1(s1(x)) -> x
plus2(x, 0) -> x
plus2(0, y) -> y
plus2(s1(x), y) -> s1(plus2(x, y))
plus2(s1(x), y) -> s1(plus2(p1(s1(x)), y))
plus2(x, s1(y)) -> s1(plus2(x, p1(s1(y))))
times2(0, y) -> 0
times2(s1(0), y) -> y
times2(s1(x), y) -> plus2(y, times2(x, y))
div2(0, y) -> 0
div2(x, y) -> quot3(x, y, y)
quot3(0, s1(y), z) -> 0
quot3(s1(x), s1(y), z) -> quot3(x, y, z)
quot3(x, 0, s1(z)) -> s1(div2(x, s1(z)))
div2(div2(x, y), z) -> div2(x, times2(y, z))
eq2(0, 0) -> true
eq2(s1(x), 0) -> false
eq2(0, s1(y)) -> false
eq2(s1(x), s1(y)) -> eq2(x, y)
divides2(y, x) -> eq2(x, times2(div2(x, y), y))
prime1(s1(s1(x))) -> pr2(s1(s1(x)), s1(x))
pr2(x, s1(0)) -> true
pr2(x, s1(s1(y))) -> if3(divides2(s1(s1(y)), x), x, s1(y))
if3(true, x, y) -> false
if3(false, x, y) -> pr2(x, y)

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [13,14,18] contains 0 SCCs with 1 less node.